#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
@Time    : 24-5-24 下午15:37
@Author  : zhangweihao
@File    : tasks.py
'''
import logging
from ext.base_form import BaseForm
from wtforms.fields import StringField, SelectField, SelectMultipleField, DateTimeField, IntegerField
from wtforms.validators import DataRequired, Length
from utils.date_process import DateProcess


class RiskRetrievalSearchForm(BaseForm):
    name = StringField('人名', validators=[DataRequired('搜索内容不能为空')]) 

    def validate_train_type(self, field):
        if field.data not in ['all', 'level', 'identity','property', 'account', 'credit', 'financial',
                               'authentication', 'derived', 'reputational', 'encrypted', 'data_size']:
            raise ValueError('模型类型有误')

class RiskAnalysisSearchForm(BaseForm):
    name = StringField('人名')
    company = StringField('公司')
    job = StringField('职务名称')
    start_time = DateTimeField('开始时间--使用更新时间搜索')
    end_time = DateTimeField('结束时间--使用更新时间搜索')

class RiskAnalysisPutForm(BaseForm):
    id = StringField(validators=[DataRequired('id必传')])
    # name = StringField('人名', validators=[DataRequired('人名不能为空')])
    company = StringField('公司')
    job = StringField('职务名称')
    sex = StringField('性别')
    is_enable = StringField('是否启用，1启用0关闭')

    def validate_name(self, obj):
        if len(self.name.data) < 2 or len(self.name.data) > 64:
            raise ValueError('人名不合法输入，支持2-64位字符')

    def validate_company(self, obj):
        if self.company.data:
            if len(self.company.data) < 2 or len(self.company.data) > 64:
                raise ValueError('所在公司不合法输入，支持2-64位字符')

    def validate_job(self, obj):
        if self.job.data:
            if len(self.job.data) < 2 or len(self.job.data) > 64:
                raise ValueError('职务名称不合法输入，支持2-64位字符')

class RiskAnalysisCreateForm(BaseForm):
    name = StringField('人名', validators=[DataRequired('人名不能为空')])
    company = StringField('公司')
    job = StringField('职务名称')
    sex = StringField('性别')

    def validate_name(self, obj):
        if len(self.name.data) < 2 or len(self.name.data) > 64:
            raise ValueError('人名不合法输入，支持2-64位字符')

    def validate_company(self, obj):
        if self.company.data:
            if len(self.company.data) < 2 or len(self.company.data) > 64:
                raise ValueError('所在公司不合法输入，支持2-64位字符')

    def validate_job(self, obj):
        if self.job.data:
            if len(self.job.data) < 2 or len(self.job.data) > 64:
                raise ValueError('职务名称不合法输入，支持2-64位字符')

class RiskAnalysisDeleteForm(BaseForm):
    ids = StringField(validators=[DataRequired('ids必传')])
    
class RiskAnalysisBubbleForm(BaseForm):
    top = StringField(validators=[DataRequired('top必传')])
    start_time = DateTimeField('开始时间--使用更新时间搜索')
    end_time = DateTimeField('结束时间--使用更新时间搜索')

